package com.moli.iov.base.model.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * <p>
 * 车型控车
 * </p>
 *
 * @author wanghualin
 * @since 2019-08-28
 */
@Data
@TableName("company_vehicle_model")
public class CompanyVehicleModel implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * id
   */
  @TableId(type = IdType.AUTO)
  private Long id;

  /**
   * 所属公司id
   */
  @TableField(value="company_id")
  private Long companyId;

  /**
   * 所属公司名称
   */
  @TableField(value="company_name")
  private String companyName;

  /**
   * 品牌
   */
  private String brand;

  /**
   * 车系
   */
  @TableField(value="vehicle_series")
  private String vehicleSeries;

  /**
   * 车型
   */
  @TableField(value="vehicle_type")
  private String vehicleType;

  /**
   * 用于前端展示
   */
  @TableField(value="vehicle_model")
  private String vehicleModel;

  /**
   * 车型指令控制json
   */
  @TableField(value="vehicle_command")
  private String vehicleCommand;

  /**
   * 车机型号 唯一值(例H-800)
   */
  @TableField(value="device_model")
  private String deviceModel;

  /**
   * 生产厂商
   */
  @TableField(value="supplier_code")
  private String supplierCode;

  /**
   * 生产厂商(用于前端显示)
   */
  @TableField(value="supplier_name")
  private String supplierName;

  /**
   * 设备型号（例：TBOX/GPS）
   */
  @TableField(value="equipment_type")
  private String equipmentType;

  /**
   * 创建时间
   */
  @TableField(value="gmt_create")
  private Date gmtCreate;

  /**
   * 创建人
   */
  @TableField(value="create_user")
  private String createUser;

  /**
   * 更新时间
   */
  @TableField(value="gmt_modified")
  private Date gmtModified;

  /**
   * 修改人
   */
  @TableField(value="modified_user")
  private String modifiedUser;

  /**
   * 删除标识 （0未删除 1 已删除）
   */
  @TableField(value="is_delete")
  private Integer isDelete;
  /**
   * 公司id+品牌+车系+车型+ 车机生产商+ 车机型号 根据实体类生成唯一key
   */
  public String generateUniqueKey() {

      StringBuffer sb = new StringBuffer();
      sb.append(companyId);
      sb.append(brand);
      sb.append(vehicleSeries);
      sb.append(vehicleType);
      sb.append(supplierCode);
      sb.append(deviceModel);
      return sb.toString();
  }

}
